/// *
// *  Copyright 2019-2025 Zheng Jie
// *
// *  Licensed under the Apache License, Version 2.0 (the "License");
// *  you may not use this file except in compliance with the License.
// *  You may obtain a copy of the License at
// *
// *  http://www.apache.org/licenses/LICENSE-2.0
// *
// *  Unless required by applicable law or agreed to in writing, software
// *  distributed under the License is distributed on an "AS IS" BASIS,
// *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// *  See the License for the specific language governing permissions and
// *  limitations under the License.
// */
//package cn.com.cdb.ldms.utils;
//
//import cn.com.cdb.ldms.domain.AlipayConfig;
//import com.alipay.api.AlipayApiException;
//import com.alipay.api.internal.util.AlipaySignature;
//import jakarta.servlet.http.HttpServletRequest;
//import org.springframework.stereotype.Component;
//
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * 支付宝工具类
// * @author jizi
// * @date 2025-06-24
// */
//@Component
//public class AlipayUtils {
//
//    /**
//     * 生成订单号
//     * @return String
//     */
//    public String getOrderCode() {
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        int a = (int)(Math.random() * 9000.0D) + 1000;
//        System.out.println(a);
//        Date date = new Date();
//        String str = sdf.format(date);
//        String[] split = str.split("-");
//        String s = split[0] + split[1] + split[2];
//        String[] split1 = s.split(" ");
//        String s1 = split1[0] + split1[1];
//        String[] split2 = s1.split(":");
//        return split2[0] + split2[1] + split2[2] + a;
//    }
//
//    /**
//     * 校验签名
//     * @param request HttpServletRequest
//     * @param alipay 阿里云配置
//     * @return boolean
//     */
//    public boolean rsaCheck(HttpServletRequest request, AlipayConfig alipay){
//
//        // 获取支付宝POST过来反馈信息
//        Map<String,String> params = new HashMap<>(1);
//        Map<String, String[]> requestParams = request.getParameterMap();
//        for (Object o : requestParams.keySet()) {
//            String name = (String) o;
//            String[] values = requestParams.get(name);
//            String valueStr = "";
//            for (int i = 0; i < values.length; i++) {
//                valueStr = (i == values.length - 1) ? valueStr + values[i]
//                        : valueStr + values[i] + ",";
//            }
//            params.put(name, valueStr);
//        }
//
//        try {
//            return AlipaySignature.rsaCheckV1(params,
//                    alipay.getPublicKey(),
//                    alipay.getCharset(),
//                    alipay.getSignType());
//        } catch (AlipayApiException e) {
//            return false;
//        }
//    }
//}
